/*
    This file is part of VK/KittenPHP-DB-Engine.

    VK/KittenPHP-DB-Engine is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 2 of the License, or
    (at your option) any later version.

    VK/KittenPHP-DB-Engine is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with VK/KittenPHP-DB-Engine.  If not, see <http://www.gnu.org/licenses/>.

    This program is released under the GPL with the additional exemption
    that compiling, linking, and/or using OpenSSL is allowed.
    You are free to remove this exemption from derived works.

    Copyright 2011-2013 Vkontakte Ltd
              2011-2013 Arseny Smirnov
              2011-2013 Aliaksei Levin
*/

#pragma once

#include "dl-default.h"
#include "dl-comparable.h"

#include "dl-hashable.h"
#include "dl-vector-def.h"

#define TA ll
#include "dl-sort.def"
#include "dl-undef.h"

#include "watchcat-data.h"
#define TA addr
#define dl_scmp_addr(x, y) dl_scmp_std((x).q_id, (y).q_id)
#define dl_eq_addr(x,y) ((x).q_id == (y).q_id && (x).w_id == (y).w_id)
#include "dl-sort.def"
#include "dl-undef.h"


/*
 *
 * hash_set <ll*>
 *
 */
typedef ll *llp;
#define dl_hash_llp(p) (*p)
#define DATA_T llp
#define TNAME hset_llp
#define IMPLEMENTATION OPEN
#define STORE_HASH OFF
#define STRICT OFF
#define RESIZABLE ON
#define WAIT_FREE ON
#define EMPTY(p) (p == NULL)

#if defined (DL_HEADER)
#  include "dl-hashtable.h"
#else
#  include "dl-hashtable.c"
#endif

#include "dl-undef.h"
